package packet1;

import java.util.Arrays;

public class offer_45 {
    /*
    输入一个非负整数数组，把数组里所有数字拼接起来排成一个数，打印能拼接出的所有数字中最小的一个。
示例 1:
输入: [10,2]
输出: "102"
示例2:
输入: [3,30,34,5,9]
输出: "3033459"
拼接起来的数字可能会有前导 0，最后结果不需要去掉前导 0
     */
    public static void main(String[] args) {
       String s = minNumber(new int[]{10,02,3});
        System.out.println(s);
    }
    public static String minNumber(int[] nums) {
        String[] s = new String[nums.length];
        for (int i = 0; i < nums.length; i++) {
            s[i] = String.valueOf(nums[i]);
        }
        Arrays.sort(s,(x,y) -> (x + y).compareTo(y + x));
        StringBuilder sb = new StringBuilder();
        for (String s1 : s)
            sb.append(s1);
        return sb.toString();
    }
}
